- 从目标上说
- MinGW 是让Windows 用户可以用上GNU 工具,比如GCC。
- Cygwin 提供完整的类Unix 环境,Windows 用户不仅可以使用GNU 工具,理论上Linux 上的程序只要用Cygwin 重新编译,就可以在Windows 上运行。
- 从能力上说
- 如果程序只用到C/C++ 标准库,可以用MinGW 或Cygwin 编译。
- 如果程序还用到了POSIX API,则只能用Cygwin 编译。
- 从依赖上说
- 程序经MinGW 编译后可以直接在Windows 上面运行。
- 程序经Cygwin 编译后运行,需要依赖安装时附带的cygwin1.dll。